Mobile communication devices may include a variety of components including circuit boards, integrated circuit (IC) devices and/or System-on-Chip (SoC) devices. The components may include processing devices, user interface components, storage and other peripheral components that communicate through a serial bus. General-purpose serial interfaces are known in the industry, including the serial peripheral interface (SPI), which is commonly included in mobile communication devices to provide synchronous serial communication between a processor and various peripheral devices.
In one example, a SoC operates as an SPI master device coupled through the SPI bus to peripheral devices configured as slave SPI devices. The master device provides a clock signal on a clock line of the SPI bus, where the clock signal controls synchronous serial data exchanges between the master and slave devices. Data may be communicated using two or more data lines of the SPI bus. Since one or more of the data lines may be shared by multiple slave devices, the SPI bus provides a slave select line for each slave device to control access to shared data lines.
Conventional systems that employ an SPI bus may implement software-based flow control, which introduces latency into the communication link Latencies can be problematic in interfaces such as used for a display-overlaid touch interface or systems with an execute in place (XIP) method as implemented through a SPI interface to NOR-FLASH storage. Ever-increasing link throughput and fast-response flow control requirements are increasingly difficult for current SPI interface technologies to satisfy.
As mobile communication devices continue to include a greater level of functionality, improved serial communication techniques are needed to support low-latency transmissions between peripherals and application processors.